Voice recognition or understanding is a desirable input option for many types of human-system interfaces, for example personal computers, voice-controlled telephone services, and others as will be well known to the reader. One challenge of voice recognition relates to the complexity of recognizing natural language; language spoken by a human in the normal course of activity without specialized speaking constraints or limited vocabularies. The complexity of recognizing natural language arises both from inherent language and grammatical complexities as well as individualized speaking characteristics.
In the related art, there are at least two approaches to the development and use of a natural language understanding application. In the first approach, known as the data driven approach, a large body of data is collected. Part or all of the collected data is manually identified and suitably labeled. The labeled corpus of data is used to automatically develop a model which can be used by a run-time system for natural language understanding of an input content. In the second approach, handcrafted grammar rules, based on human knowledge of the application are developed and used for natural language understanding of an input content.
In some cases in the related art, natural language application development may combine the two approaches. For example, an application may use handcrafted rules when labeled data is not available, and then may switch to a data-driven approach when such data becomes available. As another example, when labeled data is available, an application may use both human knowledge and data to develop natural language understanding models. The present inventors believe that current approaches to natural language recognition fall short of providing a solution easily usable by humans in the course of normal activities.